<?
include_once("./_common.php");

if (!$board[bo_table])
	alert("존재하지 않는 게시판입니다.", $g4[path]);

if (!$bo_table) {
	$msg = "bo_table 값이 넘어오지 않았습니다.\\n\\nboard.php?bo_table=code 와 같은 방식으로 넘겨 주세요.";
	alert($msg);
}



// $total_page  = ceil($total_count / $board[bo_page_rows]);  // 전체 페이지 계산
// if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
// $from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함

if ($wr_id)
{
	// 글이 없을 경우 해당 게시판 목록으로 이동

	if (!$write[wr_id])
	{
	    $msg = "글이 존재하지 않습니다.\\n\\n글이 삭제되었거나 이동된 경우입니다.";
		if ($cwin)
			alert_close($msg);
	    else
		    alert($msg, "./board.php?bo_table=$bo_table");
	}

	// 그룹접근 사용
	if ($group[gr_use_access])
	{
		if (!$member[mb_id]) {
			$msg = "비회원은 이 게시판에 접근할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.";
			if ($cwin)
				alert_close($msg);
			else
				alert($msg, "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("./board.php?bo_table=$bo_table&wr_id=$wr_id"));
		}

		// 그룹관리자 이상이라면 통과
		if ($is_admin == "super" || $is_admin == "group")
			;
			else
			{
				// 그룹접근
				$sql = " select count(*) as cnt
				from $g4[group_member_table]
				where gr_id = '$board[gr_id]' and mb_id = '$member[mb_id]' ";
				$row = sql_fetch($sql);
				if (!$row[cnt])
					alert("접근 권한이 없으므로 글읽기가 불가합니다.\\n\\n궁금하신 사항은 관리자에게 문의 바랍니다.", $g4[path]);
			}
	}

	// 로그인된 회원의 권한이 설정된 읽기 권한보다 작다면
	if ($member[mb_level] < $board[bo_read_level])
	{
		if ($member[mb_id])
			//alert("글을 읽을 권한이 없습니다.");
			alert("글을 읽을 권한이 없습니다.", $g4[path]);
		else
			alert("글을 읽을 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("./board.php?bo_table=$bo_table&wr_id=$wr_id"));
	}

	// 자신의 글이거나 관리자라면 통과
	if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
		;
		else
		{
			// 비밀글이라면
			if (strstr($write[wr_option], "secret"))
			{
				// 회원이 비밀글을 올리고 관리자가 답변글을 올렸을 경우
				// 회원이 관리자가 올린 답변글을 바로 볼 수 없던 오류를 수정
				$is_owner = false;
				if ($write[wr_reply] && $member[mb_id])
				{
					$sql = " select mb_id from $write_table";
					$row = sql_fetch($sql);
					if ($row[mb_id] == $member[mb_id])
						$is_owner = true;
				}

				$ss_name = "ss_secret_{$bo_table}_$write[wr_num]";

				if (!$is_owner)
				{
					//$ss_name = "ss_secret_{$bo_table}_{$wr_id}";
					// 한번 읽은 게시물의 번호는 세션에 저장되어 있고 같은 게시물을 읽을 경우는 다시 패스워드를 묻지 않습니다.
					// 이 게시물이 저장된 게시물이 아니면서 관리자가 아니라면
					//if ("$bo_table|$write[wr_num]" != get_session("ss_secret"))
					if (!get_session($ss_name))
						goto_url("./password.php?w=s&bo_table=$bo_table&wr_id=$wr_id{$qstr}");
				}

				set_session($ss_name, TRUE);
			}
		}

		// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
		$ss_name = "ss_view_{$bo_table}_{$wr_id}";
		if (!get_session($ss_name))
		{
			// 조회 수 업뎃
			//sql_query(" update $write_table set wr_hit = wr_hit + 1 where id = '$wr_id' ");

			// 자신의 글이면 통과
			if ($write[mb_id] && $write[mb_id] == $member[mb_id]) {
				;
			} else if ($is_guest && $board[bo_read_level] == 1 && $write[wr_ip] == $_SERVER['REMOTE_ADDR']) {
				// 비회원이면서 읽기레벨이 1이고 등록된 아이피가 같다면 자신의 글이므로 통과
				;
			} else {
				/*
				 // 회원이상 글읽기가 가능하다면
				 if ($board[bo_read_level] > 1) {
				 if ($member[mb_point] + $board[bo_read_point] < 0)
				 	alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글읽기(".number_format($board[bo_read_point]).")가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오.");

				 	insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
				 	}
				 	*/
				 // 글읽기 포인트가 설정되어 있다면
				 if ($board[bo_read_point] && $member[mb_point] + $board[bo_read_point] < 0)
				 	alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글읽기(".number_format($board[bo_read_point]).")가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오.");

				 insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
			}

			set_session($ss_name, TRUE);
		}

		$g4[title] = "$group[gr_subject] > $board[bo_subject] > " . strip_tags(conv_subject($write[wr_subject], 255));
}
else
{
	if ($member[mb_level] < $board[bo_list_level])
	{
		if ($member[mb_id])
			alert("목록을 볼 권한이 없습니다.", $g4[path]);
		else
			alert("목록을 볼 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
	}

	if (!$page) $page = 1;

	$g4[title] = "$group[gr_subject] > $board[bo_subject] $page 페이지";
}


// 게시물 정보($write_row)를 출력하기 위하여 $list로 가공된 정보를 복사 및 가공
function get_event_list($write_row, $board, $skin_path, $subject_len=40)
{
	//static $g4, $config;
	//static $qstr, $page;

	//$t = get_microtime();
	
	// 배열전체를 복사
	$lst = array();
	$lst = $write_row;
	unset($write_row);

	$lst['is_notice'] = preg_match("/[^0-9]{0,1}{$lst['wr_id']}[\r]{0,1}/",$board['bo_notice']);

	if ($subject_len)
		$lst['subject'] = conv_subject($lst['wr_subject'], $subject_len, "…");
	else
		$lst['subject'] = conv_subject($lst['wr_subject'], $board['bo_subject_len'], "…");

	// 목록에서 내용 미리보기 사용한 게시판만 내용을 변환함 (속도 향상) : kkal3(커피)님께서 알려주셨습니다.
// 	if ($board['bo_use_list_content'])
// 	{
// 		$html = 0;
// 		if (strstr($lst['wr_option'], "html1"))
// 			$html = 1;
// 		else if (strstr($lst['wr_option'], "html2"))
// 			$html = 2;

// 		$lst['content'] = conv_content($lst['wr_content'], $html);
// 	}

	$lst['comment_cnt'] = "";
	if ($lst['wr_comment'])
		$lst['comment_cnt'] = "($lst[wr_comment])";

	// 당일인 경우 시간으로 표시함
	$lst['datetime'] = substr($lst['wr_datetime'],0,10);
	$lst['datetime2'] = $lst['wr_datetime'];
	if ($lst['datetime'] == $g4['time_ymd'])
		$lst['datetime2'] = substr($lst['datetime2'],11,5);
	else
		$lst['datetime2'] = substr($lst['datetime2'],5,5);
	// 4.1
	$lst['last'] = substr($lst['wr_last'],0,10);
	$lst['last2'] = $lst['wr_last'];
	if ($lst['last'] == $g4['time_ymd'])
		$lst['last2'] = substr($lst['last2'],11,5);
	else
		$lst['last2'] = substr($lst['last2'],5,5);

	$lst['wr_homepage'] = get_text(addslashes($lst['wr_homepage']));

	$tmp_name = get_text(cut_str($list['wr_name'], $config['cf_cut_name'])); // 설정된 자리수 만큼만 이름 출력
// 	if ($board['bo_use_sideview'])
// 		$lst['name'] = get_sideview($list['mb_id'], $tmp_name, $lst['wr_email'], $lst['wr_homepage']);
// 	else
// 		$lst['name'] = "<span class='".($lst['mb_id']?'member':'guest')."'>$tmp_name</span>";

	$reply = $lst['wr_reply'];

	$lst['reply'] = "";
	if (strlen($reply) > 0)
	{
		for ($k=0; $k<strlen($reply); $k++)
			$lst['reply'] .= ' &nbsp;&nbsp; ';
    }

    $lst['icon_reply'] = "";
    if ($lst['reply'])
    		$lst['icon_reply'] = "<img src='$skin_path/img/icon_reply.gif' align='absmiddle'>";

	$lst['icon_link'] = "";
	if ($lst['wr_link1'] || $lst['wr_link2'])
		$lst['icon_link'] = "<img src='$skin_path/img/icon_link.gif' align='absmiddle'>";

	// 분류명 링크
	$lst['ca_name_href'] = "/board.php?bo_table=$board[bo_table]&sca=".urlencode($lst['ca_name']);
	// 참고 : 맨 앞에 / 넣지 않으면, http://augustin.co.kr/adm/adm_new 까지 나옴. 
    $lst['href'] = "/adm/adm_new/event.php?bo_table=$board[bo_table]&wr_id=$lst[wr_id]" . $qstr;
	//$list['href'] = "$g4[bbs_path]/board.php?bo_table=$board[bo_table]&wr_id=$list[wr_id]";
// 	if ($board['bo_use_comment'])
//         $lst['comment_href'] = "javascript:win_comment('./event.php?bo_table=$board[bo_table]&wr_id=$lst[wr_id]&cwin=1');";
//     else
// 		$lst['comment_href'] = $lst['href'];

	$lst['icon_new'] = "";
	if ($lst['wr_datetime'] >= date("Y-m-d H:i:s", $g4['server_time'] - ($board['bo_new'] * 3600)))
		$lst['icon_new'] = "<img src='$skin_path/img/icon_new.gif' align='absmiddle'>";

	$lst['icon_hot'] = "";
    if ($lst['wr_hit'] >= $board['bo_hot'])
    		$lst['icon_hot'] = "<img src='$skin_path/img/icon_hot.gif' align='absmiddle'>";

    $lst['icon_secret'] = "";
    if (strstr($lst['wr_option'], "secret"))
    	$lst['icon_secret'] = "<img src='$skin_path/img/icon_secret.gif' align='absmiddle'>";

    // 링크
	for ($i=1; $i<=$g4['link_count']; $i++)
    {
		$lst['link'][$i] = set_http(get_text($lst["wr_link{$i}"]));
		$lst['link_href'][$i] = "./link.php?bo_table=$board[bo_table]&wr_id=$lst[wr_id]&no=$i" . $qstr;
		$lst['link_hit'][$i] = (int)$lst["wr_link{$i}_hit"];
	}

	// 가변 파일
	$lst['file'] = get_file($board['bo_table'], $lst['wr_id']);

	if ($lst['file']['count'])
		$lst['icon_file'] = "<img src='$skin_path/img/icon_file.gif' align='absmiddle'>";

    return $lst;
}



include_once("./admin.head.php");

$width = $board[bo_table_width];
if ($width <= 100) $width .= '%';

$bo_table_width = $bo_table_width . ($bo_table_width > 100 ? "px" : "%");

// IP보이기 사용 여부
$ip = "";
$is_ip_view = $board[bo_use_ip_view];
if ($is_admin) {
	$is_ip_view = true;
	$ip = $write[wr_ip];
} else // 관리자가 아니라면 IP 주소를 감춘후 보여줍니다.
	$ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", "\\1.♡.\\3.\\4", $write[wr_ip]);


$admin_href = "";
// 최고관리자 또는 그룹관리자라면
if ($member[mb_id] && ($is_admin == 'super' || $group[gr_admin] == $member[mb_id]))
	$admin_href = "./board_form.php?w=u&bo_table=$bo_table";

if (!($board[bo_use_comment] && $cwin))
	include_once("./board_head.php");

echo "<script type=\"text/javascript\" src=\"$g4[path]/js/sideview.js\"></script>\n";

// if (!$board[bo_use_comment]) {
	// 게시물 아이디가 있다면 게시물 보기를 INCLUDE
if ($wr_id){
	include_once("./view_event.php");
}

	// 전체목록보이기 사용이 "예" 또는 wr_id 값이 없다면 목록을 보임
	//if ($board[bo_use_list_view] || empty($wr_id))
// 	if (empty($wr_id)){
		
		$sop = strtolower($sop);
		if ($sop != "and" && $sop != "or")
			$sop = "and";
		
		// 분류 선택 또는 검색어가 있다면
		$sca = trim($sca);
		$stx = trim($stx);
		if ($sca || $stx)
		{
			$sql_search = get_sql_search($sca, $sfl, $stx, $sop);
		
			// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
			$sql = " select MIN(wr_num) as min_wr_num from $write_table ";
			$row = sql_fetch($sql);
			$min_spt = $row[min_wr_num];
		
			if (!$spt) $spt = $min_spt;
		
			$sql_search .= " and (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";
		
			// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
// 			$sql = " select distinct wr_parent from $write_table where $sql_search ";
// 			$result = sql_query($sql);
// 			$total_count = mysql_num_rows($result);
		}
		else
		{
			$sql_search = "";
		
			$total_count = $board[bo_count_write];
		}
		
		$total_page  = ceil($total_count / $board[bo_page_rows]);  // $board[bo_page_rows]:15  전체 페이지 계산
		
		$sql = " select count(*) as cnt from g4_write_$bo_table where wr_is_comment = 0";
		$row = sql_fetch($sql);
		$total_count = $row[cnt]; //74
		
		
		if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
		$from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함
		
		if ($board[bo_gallery_cols])
			$td_width = (int)(100 / $board[bo_gallery_cols]);
		// 정렬
		// 인덱스 필드가 아니면 정렬에 사용하지 않음
		//if (!$sst || ($sst && !(strstr($sst, 'wr_id') || strstr($sst, "wr_datetime")))) {
		if (!$sst)
		{
			if ($board[bo_sort_field])
				$sst = $board[bo_sort_field];
			else
				$sst  = "wr_num, wr_reply";
			$sod = "";
		}
		else {
			// 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (nasca 님 09.06.16)
			// 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요.
			// $sst = preg_match("/^(wr_subject|wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
			$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
		}
		if ($sst)
			$sql_order = " order by $sst $sod ";
		
		if ($sca || $stx)
		{
			$sql = " select distinct wr_parent from g4_write_$bo_table where $sql_search $sql_order limit $from_record, $board[bo_page_rows] ";
		}
		else
		{
			$sql = " select * from g4_write_$bo_table where wr_is_comment = 0 $sql_order limit $from_record, $board[bo_page_rows] ";
		}
		$result = sql_query($sql);
		
		// 년도 2자리
		$today2 = $g4[time_ymd];
		
		$list = array();
		
		$i=0;
		// trim($board[bo_notice]); 1870 1668 1830 1667
		if (!$sca && !$stx) 	// wr_id 없이 list 조회 
		{	
			
// 			$arr_notice = explode("\n", trim($board[bo_notice]));
// 			for ($k=0; $k<count($arr_notice); $k++)
// 			{
// 				if (trim($arr_notice[$k])=='') continue;
			
// 				$row = sql_fetch(" select * from g4_write_$bo_table where wr_id = '$arr_notice[$k]' ");
				
// 				if (!$row[wr_id]) continue;
			
// 				$list[$i] = get_event_list($row, $board, $board_skin_path, $board[bo_subject_len]);
// 				$list[$i][is_notice] = true;
			
// 				$i++;
// 			}
			
		}
			
// 		$sql = "select * from g4_write_$bo_table where wr_is_comment = 0 order by wr_datetime desc limit $from_record, $board[bo_page_rows]";
// 		$result = sql_query($sql);
		
		
		$k=0;
		while ($row = sql_fetch_array($result))
		{
			// 검색일 경우 wr_id만 얻었으므로 다시 한행을 얻는다
		    if ($sca || $stx)
		       $row = sql_fetch(" select * from g4_write_$bo_table where wr_id = '$row[wr_parent]' ");
		
		    $list[$i] = get_event_list($row, $board, $board_skin_path, $board[bo_subject_len]);
		    if (strstr($sfl, "wr_subject"))
		        $list[$i][subject] = search_font($stx, $list[$i][subject]);
		    $list[$i][is_notice] = false;
		    //$list[$i][num] = number_format($total_count - ($page - 1) * $board[bo_page_rows] - $k);
		    $list[$i][num] = $total_count - ($page - 1) * $board[bo_page_rows] - $k;
		
			$i++;
			$k++;
		}
		
		
		$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "./event.php?bo_table=$bo_table".$qstr."&amp;page=");
		
		$list_href = '';
		
		$write_href = "./write_event.php?bo_table=$bo_table";
		
		$nobr_begin = $nobr_end = "";
		if (preg_match("/gecko|firefox/i", $_SERVER['HTTP_USER_AGENT'])) {
			$nobr_begin = "<nobr style='display:block; overflow:hidden;'>";
			$nobr_end   = "</nobr>";
		}
		
		// RSS 보기 사용에 체크가 되어 있어야 RSS 보기 가능 061106
		$rss_href = "";
		if ($board[bo_use_rss_view])
			$rss_href = "./rss.php?bo_table=$bo_table";
		
		$stx = get_text(stripslashes($stx));
	
		if ($bo_table == 'event')
			include_once("./event.skin.php");
		else if ($bo_table == 'win')
			include_once("./win.skin.php");
// 	}
		
	
	
	//include_once("./board_tail.php");
// }
// else
	//include_once("./view_comment.php");

echo "\n<!-- 사용스킨 : $board[bo_skin] -->\n";

//include_once("$g4[path]/tail.sub.php");




?>